import { UserModel } from './userModel'
import { OrganizationModel } from './organizationModel'
/*
 * @Description: 系统消息管理 - 模型
 * @Author: DHL
 * @Date: 2022-11-27 15:51:45
 * @LastEditors: dhlleo dhlleo@126.com
 * @LastEditTime: 2022-12-03 09:46:01
 */

import { BaseModel, PageParams, Params, Result, ResultPage } from '/@/model/baseModel'

/**
 * 系统消息管理对象
 */
export interface MessageModel extends BaseModel {
  /** 编号 */
  id?: string

  /** 项目ID */
  projectId?: string

  /** 标题 */
  title?: string

  /** 内容 */
  content?: string

  /** 优先级(1：最高；2：中间；3：最低） */
  priority?: string

  /** 接收方类型（1：全部；2：公司；3：部门；4：个人）  */
  receivorType?: string

  /** 接收方为公司/部门的id */
  receivorOrgIds?: string

  /** 消息类型（1：公告；2：通知；3-审批） */
  type?: string

  /** 发送时间 */
  sendDate?: Date

  /** 发送人ID */
  senderId?: string

  /** 发送人 */
  sender?: string

  /** 状态（0：待发布；1：已发布；2：已撤销） */
  status?: string

  /** 撤销时间 */
  revokeDate?: Date

  /** 撤销者ID */
  revokerId?: string

  /** 撤销人 */
  revoker?: string

  /** 撤销原因 */
  revokeReason?: string

  /** 业务页面地址 */
  bizUrl?: string

  /** 接收人ID集合 */
  receivorIds?: Array<string>

  /** 选择的机构详情集合 */
  orgs?: Array<OrganizationModel>

  /** 选择的用户详情集合 */
  users?: Array<UserModel>
}

//////////////////////////////////////////////////
// 参数
//////////////////////////////////////////////////

/**
 * 查询参数
 */
export interface MessageParams extends Params {
  /**
   * 关键字模糊查询
   */
  queryLikeStr?: string
}

/**
 * 分页查询参数
 */
export interface MessagePageParams extends MessageParams, PageParams {}

//////////////////////////////////////////////////
// 返回结果
//////////////////////////////////////////////////

/**
 * 分页查询返回结果
 */
export type MessagePageResultModel = ResultPage<MessageModel>

/**
 * 不分页查询返回结果
 */
export type MessageListResultModel = Result<Array<MessageModel>>

/**
 * 详情查询返回结果
 */
export type MessageResultModel = Result<MessageModel>
